#include"RBTree.hpp"
#include<vector>

using std::vector;

void test()
{
    RBTree<int,int> rbt;
    //int arr[]={16,3,7,11,9,26,18,14,15};
    int arr[]={4,2,6,1,3,5,15,7,16,14};
    for(int e:arr)
    {
        cout<<rbt.Insert(std::make_pair(e,e))<<" "; //奇怪，这里e的类型不能用auto...
    }
    cout<<endl;
    rbt.InOrder();

    bool ret=rbt.Is_Balance();
    cout<<ret<<endl;
}

void test_for_rand()
{
    srand(time(0));
    const int N=1000000;
    vector<int> v;
    for(int i=0;i<N;i++)
    {
        //生成n个随机数
        v.push_back(rand()+i);
    }
    //将生成等待随机数全部插入红黑树中
    RBTree<int,int> rbt;
    for(auto e:v)
    {
        rbt.Insert(std::make_pair(e,e));
    }
    //rbt.InOrder();
    bool ret=rbt.Is_Balance();
    cout<<ret<<endl;
}

int main()
{
    //test();
    test_for_rand();
    return 0;
}